The invention pertains to the field of application software that makes use of the TAPI interface and TAPI library of functions in the Windows series of operating systems for personal computers, or similar libraries of functions in other operating systems to implement telephone functions using a TAPI compliant modem or other TAPI compliant telephone line interface hardware.
Application programs for personal computers to implement telephone functions are known. These applications are useful in the modem office environment because they are capable of implementing telephones which have more functionality than the actual telephones on the desks of workers. Such functions as answering machine capability, call recording capability, speed dial, conferencing, playing outgoing messages, transfer to voice mail etc. are features that most office telephones do not have. The particular features which are implemented by the phone vary from one application to another, and the particular features implemented in the telephone application are not critical to this invention.
Unfortunately, the display of a telephone with many features, when displayed on a computer monitor, take up a fairly large portion of the display area of the monitor. This is inconvenient sometimes because the user will usually be working in other applications which are competing with the telephone application for space on the monitor. The windows in which the various applications are running then start to overlap and the window in the foreground (the window of the currently active application program) will obscure the displays of other windows of other applications which are also in execution.
Any window of an application that is not the active application will consume system resources such as memory even though the window is not completely visible by virtue of being obscured wholly or partially by the window of the active application. It is desirable to reduce the amount of screen real estate consumed by a running application that is not currently the focus of the user""s attention. Windows 95 has a mechanism for doing this called the minimize function. It is a little box in the upper right corner of the window frame in which an application is running. When the user clicks on the box, the particular application (or window displaying a document being worked on in an application such as a word processor which can work on several documents simultaneously) is reduced to an icon on a task bar on the lower part of the screen. When an application is minimized, it continues to run, but does not show on the desktop until its window is restored, for example by clicking its icon on the task bar. This causes the state of the machine to be restored and the application window to be put into the foreground of all windows currently open.
In some telephone applications, there are some often used features and there are some seldom used features. These features of the phone are typically displayed as virtual buttons which can be virtually pushed by a user by manipulation of a pointing device and clicking on the display of the button. However, some of these functions are not used often such as recording a call or changing a voicemail greeting while other functions are used frequently such as dialing from a number in an address book, dialing from the keypad etc. It is useful therefore to be able to display the phone display in segments with the most often used features in the smallest displayable segment and with other features in other segments that can be added sequentially until the button for the desired feature is displayed. This allows screen real estate to be conserved until a particular feature is needed without actually putting the application out of execution. Thus, features that need to be active at all times the computer is on, such as monitoring the phone line for an incoming call, can be maintained in an active state even though the amount of screen real estate consumed by the telephone application can be altered.
As far as the applicants are aware, there is no application of any sort and no telephone applications in particular which allow a user to reduce the amount of screen real estate consumed by the application in increments and which allow a user to select a display size in increments so as to expose virtual function buttons only when they are needed. Exposing functional links to other web pages by varying the size of the Netscape Navigator web browser window in Windows 95 is known, as is scrolling through a web page with a fixed size window until a desired link or virtual function button is displayed so that it can be invoked is known. However, these mechanisms are continuously variable and size changes are not implemented in increments, one new increment or one less increment for each virtual press of a virtual size change button. Therefore a need has arisen for a telephone emulation application program that can run in a window on the display of a computer and which can have the size of the window it runs in changed in increments to expose more or fewer virtual function buttons and so as to reduce the amount of screen real estate consumed by the window without taking the application completely out of execution.
The genus of the invention is defined as the class of computer programs controlling computers to emulate telephones, all species in the genus having the shared characteristic that the amount of screen real estate consumed by the telephone application can be reduced by reducing the size of the window in which the display created by the telephone application runs without taking the telephone application out of execution altogether, said size reduction being preferably in increments but, alternatively, being selectable between only two sizes. In the preferred embodiment, the telephone application displays a telephone in a window the size of which can be changed in increments down to a minimum size increment. In addition, the phone window can also be minimized in the conventional Windows 95 way. The minimum size increment includes a display area in which names of people to dial from an associated address book can be selected from a drop down menu, and an area in which the number to be dialed can be typed from the keyboard is displayed or the number of the person selected from the address book appears, each additional increment displaying additional telephone functions which can be invoked, the manner in which the telephone functions are displayed, identified and invoked being not critical to the invention. In other species within the genus, multiple increments are available, all with the same width and each increment displays different virtual buttons which can be virtually pushed by a user using a point and click pointing device or keyboard commands to cause the phone application to carry out a telephone function. In another alternative species, each increment of the telephone display can be a different part of the overall phone display in a checkerboard or mosaic fashion. In another alternative species, each increment of the phone display includes different functions with the functions on each incremented ordered according to the frequency of use such that the minimum size function contains the most frequently used functions, the next increment displays the next most frequently used functions and so on until all functions are available for invocation when all increments are being displayed. In still another species, the window in which the phone is displayed is of fixed width, but the length of the window is infinitely variable down or up to the full height by dragging the bottom of the window down to its full extent or up to its full extent starting from either a title bar only or from a minimum size segment. In still another species, the window in which the phone is displayed is of fixed length, but the width of the window is infinitely variable horizontally on the display out to the full width by clicking and dragging the left or right edge of the window displaying a portion of the virtual phone to its desired size starting from a minimum size segment.